package com.yuke.cloud.service.smc.service;

import com.github.pagehelper.PageInfo;
import com.yuke.cloud.common.core.support.IService;
import com.yuke.cloud.service.api.omc.dto.OdsOrderApiDto;
import com.yuke.cloud.service.smc.dto.DmsStoreDto;
import com.yuke.cloud.service.smc.dto.DmsVisitDto;
import com.yuke.cloud.service.smc.dto.SaleRankDto;
import com.yuke.cloud.service.smc.entity.DmsStore;
import com.yuke.cloud.service.smc.entity.DmsVisit;

import java.util.List;
import java.util.Map;


/**
 * Created by zn on 2020/07/16.
 */
public interface DmsVisitService extends IService<DmsVisit> {
    List<DmsVisitDto> selectVisitByCondition(DmsVisitDto dmsVisitDto);

    PageInfo<OdsOrderApiDto> getAmountById(Long userId, Integer page, Integer size);

    List<DmsVisitDto> countVisit(DmsVisitDto dmsVisitDto);

    void checkShopId(Long storeId);

    List<DmsStoreDto> needVisitShop(Long userId, int num);

    List<DmsStoreDto> needDevStore(Long userId);

    List<DmsVisitDto> visitedStore(Long userId);

    List<DmsStoreDto> visitInactiveStore(Long userId);

    List<DmsStoreDto> visitedAllStore(Long userId);


    Map<String, Integer> userCount(Long userId);

    List<DmsVisitDto> visitedStoreByDay(Long userId);

    Map<String, Integer> homeCount(Long userId);

    List<SaleRankDto> sellRanking();

    List<DmsStoreDto> needServiceShop();

    List<DmsStoreDto> publicDevStore();

    PageInfo<OdsOrderApiDto> countShopByStoreId(Long userId, Integer page, Integer size);
}
